﻿namespace EasySocket
{
    public class EasySocketOption
    {
        public int Backlog { get; set; } = 100;

        public bool NoDelay { get; set; } = true;

        public bool ReusePort { get; set; }

        public bool UseIPV6 { get; set; }

        public string IP {  get; set; }

        public int Port { get; set; }

        public int ReadBufferSize { get; set; } = 8192;

        public int WriteBufferSize { get; set; } = 8192;

        public int MaxClientCount { get; set; } = 10000;

        public IEasySocketHandler Handler {  get; set; }
    }

    public class EasySocketClientOption
    {
        public bool NoDelay { get; set; } = true;

        public bool ReusePort { get; set; }

        public bool UseIPV6 { get; set; }

        public string RemoteIP { get; set; }

        public int RemotePort { get; set; }

        public string LocalIP {  get; set; }

        public int LocalPort { get; set; }

        public int ReadBufferSize { get; set; } = 8192;

        public int WriteBufferSize { get; set; } = 8192;

        public int KeepAlive { get; set; } = 180000;

        public int KeepInterval { get; set; } = 5000;

        public IEasySocketClientHandler Handler { get; set; }
    }
}
